package com.ymdd.library.permission;

import android.support.annotation.NonNull;

/**
 * Created by 000286 on 2017/9/21.
 * Description
 */

public interface Request {
  /**
   * 传入一个或多个需要的参数
   *
   * @param permissions 权限参数集合，可以为1个或多个
   * @return {@link Request}
   */
  @NonNull Request permission(String... permissions);

  /**
   * 传入一个或多个权限数据组
   *
   * @param permissionsArray 权限参数数据组，可以为1个或多个
   * @return {@link Request}
   */
  @NonNull Request permission(String[]... permissionsArray);

  /**
   *
   * @param mRationaleListener
   * @return
   */
  @NonNull Request rationale(RationaleListener mRationaleListener);

  /**
   *
   * @param requestCode
   * @return
   */
  @NonNull Request requestCode(int requestCode);

  Request callback(Object callback);


  void start();
}
